查看原文
其他

新一代的AI数据平台探索

ruby ruby的数据漫谈
2024-09-27


AIGC和数据平台有许多结合点,尤其是在数据治理和数据开发方面。数据平台主要功能包括数据治理和数据开发,而AIGC在辅助数据开发方面具备很大的优势。

1、AIGC可以与数据治理结合,实现数据安全分级、智能规范建模和智能元数据修补等功能。通过AIGC的智能技术,可以自动识别和分类数据安全级别,帮助建立规范数据模型,并提供智能化的元数据修补服务。

2、AIGC还可以提供智能主题、智能建标准和智能分类等功能。它可以通过智能化的算法和技术,自动识别数据主题和模式,建立标准化的数据模型,并进行智能分类和归类,帮助用户更好地管理和利用数据。

3、AIGC可以提供智能数据质量管理。它可以自动检测数据质量问题,并根据预定义的规则对数据进行清洗和修复。同时,AIGC还可以分析历史数据质量问题,并生成数据质量报告,帮助数据治理团队提高数据质量。

4、AIGC还可以实现智能数据发现。它可以根据数据特征和关联关系自动发现数据中的潜在价值信息,并为数据治理团队提供智能化的数据推荐和挖掘能力。这样可以提高数据的利用率和价值。

5、AIGC还能够辅助数据开发过程。它可以自动生成查询代码,简化查询语句的编写。此外,AIGC还能够辅助ETL代码的生成,自动识别数据源和目标,并生成相应的ETL代码,大大提高数据开发的效率和准确性。

总之,AIGC与数据平台的结合点包括智能数据质量管理、自动化数据开发流程、自主学习的数据治理和智能数据发现等创新亮点。它们可以提高数据平台的效率和准确性,加速数据治理和开发过程,并提供智能化的数据支持。

下面我们用实际的案例来展示一下AIGC和数据治理以及数据开发的结合点。


01

AIGC+数据治理‍‍‍‍


chatgpt自动修补元数据


首先我将一段建表脚本其中元数据不齐全的发给Chatgpt,并告诉它这是一段doirs的建表脚本,希望它通过语法自动补齐字段描述,语句如下:


<CREATE DATABASE IF NOT EXISTS example_db;

CREATE TABLE IF NOT EXISTS example_db.example_tbl_agg1

(

user_id LARGEINT NOT NULL COMMENT "用户id",

date DATE NOT NULL COMMENT "数据灌入日期时间",

city VARCHAR(20) ,

age SMALLINT ,

sex TINYINT ,

last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",

cost BIGINT SUM DEFAULT "0" COMMENT "用户总消费",

max_dwell_time INT MAX DEFAULT "0" COMMENT "用户最大停留时间",

min_dwell_time INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"

)

AGGREGATE KEY(user_iddatecityagesex)

DISTRIBUTED BY HASH(user_id) BUCKETS 1

PROPERTIES (

"replication_allocation" = "tag.location.default: 1"

);> 这是一段doris 建表脚本,里面有几个字段没有字段描述,请根据doris 建表语法补全字段描述


大模型的答复是:

根据它的答复确实把字段的描述补齐了。


chatgpt敏感字段识别


首先我将一段建表脚本发给Chatgpt,希望它可以识别敏感字段,语句如下


<CREATE DATABASE IF NOT EXISTS example_db;

CREATE TABLE IF NOT EXISTS example_db.example_tbl_agg1
(
user_id LARGEINT NOT NULL COMMENT "用户id",
date DATE NOT NULL COMMENT "数据灌入日期时间",
city VARCHAR(20) COMMENT "用户所在城市",
age SMALLINT COMMENT "用户年龄",
sex TINYINT COMMENT "用户性别",
last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
cost BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
max_dwell_time INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
min_dwell_time INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(user_iddatecityagesex)
DISTRIBUTED BY HASH(user_id) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);> 这个建表脚本,其中哪些字段可能是敏感字段了?


它的回复基本已经识别出敏感字段了。如果后台自动定义了哪些敏感字段的安全级别,就基本可以直接将哪些表和字段的安全级别快速识别出来。从而达到安全等级的自动分级的效果。



02

AIGC+数据开发‍‍‍‍


chatGPT 数据探索


首先给chat GPT 两张表结构

这里有两个表
CREATE TABLE IF NOT EXISTS example_db.example_tbl_agg1
(
user_id LARGEINT NOT NULL COMMENT "用户id",
date DATE NOT NULL COMMENT "数据灌入日期时间",
city VARCHAR(20) COMMENT "用户所在城市",
age SMALLINT COMMENT "用户年龄",
sex TINYINT COMMENT "用户性别",
last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
cost BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
max_dwell_time INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
min_dwell_time INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(user_iddatecityagesex)
DISTRIBUTED BY HASH(user_id) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
CREATE TABLE IF NOT EXISTS example_db.example_tbl_agg2
(
user_id LARGEINT NOT NULL COMMENT "用户id",
date DATE NOT NULL COMMENT "数据灌入日期时间",
city VARCHAR(20) COMMENT "用户所在城市",
age SMALLINT COMMENT "用户年龄",
sex TINYINT COMMENT "用户性别",
last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
cost BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
max_dwell_time INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
min_dwell_time INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(user_iddatecityagesex)
DISTRIBUTED BY HASH(user_id) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);


然后根据理解让它写查询语句,这个是它写出来的结果:

去后台查询了一下:

语法是正确的,因为我这里没有数据,基本上可以看到,chatGPT在给出表结构的情况下是可以根据表结构写出正确的查询语句的。

chatGPT 数据开发


例如我们用doris SQL,让它帮忙开发一段开发的一段统计数据插入到表的代码。


首先告诉它有一张这样的表,创建一个类似的表。这里告诉它有一张这样的表,是因为目前这里没有本地数据库,没有训练数据,如果有本地数据库,可以实时给chatGPT访问,就不需要先喂数据给它,让它学习了。

这里有个表
CREATE TABLE IF NOT EXISTS example_db.example_tbl_agg1
(
user_id LARGEINT NOT NULL COMMENT "用户id",
date DATE NOT NULL COMMENT "数据灌入日期时间",
city VARCHAR(20) COMMENT "用户所在城市",
age SMALLINT COMMENT "用户年龄",
sex TINYINT COMMENT "用户性别",
last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
cost BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
max_dwell_time INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
min_dwell_time INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(user_iddatecityagesex)
DISTRIBUTED BY HASH(user_id) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
根据这个doris 的语法,创建一个类似的表,表的字段是 用户id,访问的url, 用户最后一次访问时间,用户的兴趣爱好,用户购买的商品名称,商品id,创建一张doris的表


我们执行一下

有语法错误,于是我我们重新编辑文案,并提醒它语法

这里有个表
CREATE TABLE IF NOT EXISTS example_db.example_tbl_agg1
(
user_id LARGEINT NOT NULL COMMENT "用户id",
date DATE NOT NULL COMMENT "数据灌入日期时间",
city VARCHAR(20) COMMENT "用户所在城市",
age SMALLINT COMMENT "用户年龄",
sex TINYINT COMMENT "用户性别",
last_visit_date DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
cost BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
max_dwell_time INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
min_dwell_time INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(user_iddatecityagesex)
DISTRIBUTED BY HASH(user_id) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
根据这个doris 的语法,创建一个类似的表,表的字段是 用户id,访问的url, 用户的兴趣爱好,用户购买的商品名称,商品id,用户最后一次访问时间,创建一张doris的表,用户最后一次访问时间是AggregationType 字段,必须放到所有字段的后面


我们来执行一下:


依然有错误,但是我们人为发现的问题是,最后一个字段没有给出它的AggregationType ,把这个类型添加上去,就可以执行成功。这个问题归结于我们给到chatGPT的提示词不够它完成整个语句的创建。


总结一下,在给chatGPT 有语料训练,以及精准的提示词的情况,它可以自动完成脚本的创建,类似于我们在界面将所有的参数写出来,告诉它来写代码,参照过往的语法。它就能够正确的写出来。

就目前的评估来说,通用的chatgpt 可以作为开发助手,如果要完成自动的写代码,还需要有两个访问的工作要做,第一个就是需要把相关的语料存储在本地数据库,并将本地数据库的语料喂给chatGPT 学习,另外,需要准备一组精准工作需要的prompt的提示词,为了完成工作的提示词,基本可以完成80%的开发。当然现在chatGPT还是无法完全取代人类,但是在提高效率方面确实可以提升很大的效果。


本文从实践的角度使用了公开的chatGPT进行实验,效果目前来说认为在很大程度上是可以辅助我们进行工作的,如果在有语料训练和prompt的提示词的情况下,效果更优,但是如果是数据存在隐私问题,就必须要部署私有化的国产大模型,有些训练数据不能够输入到大模型中。

目前国内开源的一些国产大模型的有如下:


清华大学——ChatGLM-6B


ChatGLM-6B是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM)架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。

ChatGLM-6B使用了和ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

开源地址:https://github.com/THUDM/ChatGLM-6B



智源人工智能研究院——悟道·天鹰

悟道·天鹰(Aquila) 语言大模型是首个具备中英双语知识、支持商用许可协议、国内数据合规需求的开源语言大模型。

Aquila系列模型的中文语料来自智源多年积累的中文数据集,包括来自1万多个站源的中文互联网数据(其中99%以上为国内站源),以及获得国内权威机构支持的高质量中文文献数据、中文书籍数据等。仍在持续积累高质量、多样化的数据集,并源源不断加入Aquila基础模型后续训练中。  

Aquila系列模型的源代码基于 Apache 2.0 协议,模型权重基于《智源Aquila系列模型许可协议》,使用者在满足许可限制的情况下,可用于商业目的。

开源地址:https://github.com/FlagAI-Open/FlagAI/tree/master/examples/Aquila


上海人工智能实验室——书生·浦语(InternLM)

InternLM是在过万亿 token数据上训练的多语千亿参数基座模型。通过多阶段的渐进式训练,InternLM 基座模型具有较高的知识水平,在中英文阅读理解、推理任务等需要较强思维能力的场景下性能优秀,在多种面向人类设计的综合性考试中表现突出。

在此基础上,通过高质量的人类标注对话数据结合 RLHF 等技术,使得 InternLM 可以在与人类对话时响应复杂指令,并且表现出符合人类道德与价值观的回复。

开源地址:https://github.com/InternLM/InternLM


百川智能——baichuan-7B

Baichuan-7B是由百川智能开发的一个开源可商用的大规模预训练语言模型。基于 Transformer 结构,在大约 1.2 万亿 tokens 上训练的 70 亿参数模型,支持中英双语,上下文窗口长度为 4096。在标准的中文和英文 benchmark(C-Eval/MMLU)上均取得同尺寸最好的效果。

开源地址:https://github.com/baichuan-inc/baichuan-7B


北京大学——ChatLaw

ChatLaw法律大模型目前开源的仅供学术参考的版本底座为姜子牙-13B、Anima-33B,使用大量法律新闻、法律论坛、法条、司法解释、法律咨询、法考题、判决文书等原始文本来构造对话数据。

开源地址:https://github.com/PKU-YuanGroup/ChatLaw

 

 云知声——山海

山海大模型是最新一代认知智能大模型,拥有丰富的知识储备,涵盖科学、技术、文化、艺术、医疗、通识等领域。与她对话即可获取信息、知识和灵感,是人类的良师益友,也是灵动强大的智能助理。

体验地址:https://shanhai.unisound.com/


OpenBMB——CPM-Bee-10B

OpenBMB开源社区由清华大学自然语言处理实验室和智源研究院语言大模型加速技术创新中心共同支持发起。

CPM-Bee-10B是完全开源、可商用的中英双语基础模型,参数容量达百亿级,利用Transformer自回归架构,在万亿级代币的海量语料库上进行了预训练,拥有卓越的基础能力。

OpenBMB系统提供了全面的工具和脚本生态系统,用于高性能预训练、适配、压缩、部署和工具开发。CPM-Bee作为基础模型,附带所有必要的工具脚本,使开发人员能够有效地利用和探索高级功能。

开源地址:https://huggingface.co/openbmb/cpm-bee-10b


上海交通大学——K2

K2是一个地球科学的开源大预言模型。首先通过收集和清理的地球科学文献(包括地球科学开放获取论文和维基百科页面)对 LLaMA 进行进一步预训练,然后使用知识密集型指令调优数据(GeoSignal )。

初步评估采用GeoBenchmark(由NPEE和AP Test on Geology、Geography、Environmental Science组成)作为基准。与具有相似参数的几个基线模型相比,K2 在客观和主观任务上的表现优于基线。 

开源地址:https://github.com/davendw49/k2


智媒开源研究院——MediaGPT

MediaGPT(曾用名Media LLaMA)首先在大规模自媒体语料上进行连续预训练,系统地学习自媒体的知识体系。然后,借助ChatGPT收集了一批关于抖音运营、短视频创作、巨量千川投放、直播运营和直播话术技巧等领域知识问题的分析和回答,并利用这些数据对模型进行指令微调,使模型习得如何将自媒体知识应用到实际场景中。

开源地址:https://github.com/IMOSR/MediaGPT


度小满——轩辕

轩辕是国内首个开源的千亿级中文对话大模型,同时也是首个针对中文金融领域优化的千亿级开源对话大模型。

轩辕在BLOOM-176B的基础上针对中文通用领域和金融领域进行了针对性的预训练与微调,它不仅可以应对通用领域的问题,也可以解答与金融相关的各类问题,为用户提供准确、全面的金融信息和建议。 

开源地址:https://huggingface.co/xyz-nlp/XuanYuan2.0 


国内开源没有怎么使用过,大家可以谨慎选用。


欢迎加入【数据行业交流群】社群,长按以下二维码加入专业微信群,商务合作加微信备注商务合作




往期历史热门文章:

基于DataOps的数据开发治理:实现数据流程的自动化和规范化

数据平台:湖仓一体、流批一体、存算分离的核心问题及原因解析

数据治理体系该怎么建设?

实时数仓&流批一体技术发展趋势

数据仓库、数据中台、大数据平台的关系?

数字化转型如何促进业务的发展

数据中台中的核心概念解析

数据治理中的数据标准的作用?

全面数字化转型:打造全新营销模式



继续滑动看下一个
ruby的数据漫谈
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存